<?php

declare(strict_types=1);

namespace app;

use think\Service;
use app\libs\wechat\UseWechat;

/**
 * 应用服务类
 */
class AppService extends Service
{
    public function register()
    {
        // 服务注册

        // 非console下
        if (!$this->app->runningInConsole()) {
            /**
             * 所有 /notifyapi 模块下的接口，关闭TP的Trace功能
             * 否则设置服务器对接时会失败
             * 在Trace功能（网页右下角带一个调试面板）的源码中，以下情况不会出现trace
                $request     = $app->request;
                $contentType = $response->getHeader('Content-Type');

                if ($request->isJson() || $request->isAjax()) {
                    return false;
                } elseif (!empty($contentType) && strpos($contentType, 'html') === false) {
                    return false;
                } elseif ($response->getCode() == 204) {
                    return false;
                }
             * 
             * 所以也可以返回满足条件的响应，就不会出现trace了，这里为了方便直接统一关闭
             */
            if (strpos(strtolower($_SERVER['REQUEST_URI']), '/notifyapi') === 0) {
                $this->app->debug(false);
            }
        }
    }

    public function boot()
    {
        // 服务启动
    }
}
